{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this notebook, we will use a multi-layer perceptron to develop time series forecasting models.\n",
    "The dataset used for the examples of this notebook is on air pollution measured by concentration of\n",
    "particulate matter (PM) of diameter less than or equal to 2.5 micrometers. There are other variables\n",
    "such as air pressure, air temparature, dewpoint and so on.\n",
    "Two time series models are developed - one on air pressure and the other on pm2.5.\n",
    "The dataset has been downloaded from UCI Machine Learning Repository.\n",
    "https://archive.ics.uci.edu/ml/datasets/Beijing+PM2.5+Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from __future__ import print_function\n",
    "import os\n",
    "import sys\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "%matplotlib inline\n",
    "from matplotlib import pyplot as plt\n",
    "import seaborn as sns\n",
    "import datetime"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#set current working directory\n",
    "os.chdir('D:/Practical Time Series')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Read the dataset into a pandas.DataFrame\n",
    "df = pd.read_csv('datasets/PRSA_data_2010.1.1-2014.12.31.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of the dataframe: (43824, 13)\n"
     ]
    }
   ],
   "source": [
    "print('Shape of the dataframe:', df.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>No</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>day</th>\n",
       "      <th>hour</th>\n",
       "      <th>pm2.5</th>\n",
       "      <th>DEWP</th>\n",
       "      <th>TEMP</th>\n",
       "      <th>PRES</th>\n",
       "      <th>cbwd</th>\n",
       "      <th>Iws</th>\n",
       "      <th>Is</th>\n",
       "      <th>Ir</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-21</td>\n",
       "      <td>-11.0</td>\n",
       "      <td>1021.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>1.79</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-21</td>\n",
       "      <td>-12.0</td>\n",
       "      <td>1020.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>4.92</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-21</td>\n",
       "      <td>-11.0</td>\n",
       "      <td>1019.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>6.71</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-21</td>\n",
       "      <td>-14.0</td>\n",
       "      <td>1019.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>9.84</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-20</td>\n",
       "      <td>-12.0</td>\n",
       "      <td>1018.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>12.97</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   No  year  month  day  hour  pm2.5  DEWP  TEMP    PRES cbwd    Iws  Is  Ir\n",
       "0   1  2010      1    1     0    NaN   -21 -11.0  1021.0   NW   1.79   0   0\n",
       "1   2  2010      1    1     1    NaN   -21 -12.0  1020.0   NW   4.92   0   0\n",
       "2   3  2010      1    1     2    NaN   -21 -11.0  1019.0   NW   6.71   0   0\n",
       "3   4  2010      1    1     3    NaN   -21 -14.0  1019.0   NW   9.84   0   0\n",
       "4   5  2010      1    1     4    NaN   -20 -12.0  1018.0   NW  12.97   0   0"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#Let's see the first five rows of the DataFrame\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To make sure that the rows are in the right order of date and time of observations,\n",
    "a new column datetime is created from the date and time related columns of the DataFrame.\n",
    "The new column consists of Python's datetime.datetime objects. The DataFrame is sorted in ascending order\n",
    "over this column."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "df['datetime'] = df[['year', 'month', 'day', 'hour']].apply(lambda row: datetime.datetime(year=row['year'], month=row['month'], day=row['day'],\n",
    "                                                                                          hour=row['hour']), axis=1)\n",
    "df.sort_values('datetime', ascending=True, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x20ef1ecf358>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUEAAAFlCAYAAAB1M1oRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFFNJREFUeJzt3H9MVff9x/HXlV8qooVo22VFQ7u2Vh1drwihVrY/uogd\nYlBBpbUqq23Hqpt2lGogXURh/SGtrk3q+kvrrKubBjeji2viqplTqKaTmJlOJqt2GVOBiSg/5H6+\nfxjvtygIbNB74f18JE0K95xzP+/r9ek5F+71OOecAMCoQYFeAAAEEhEEYBoRBGAaEQRgGhEEYBoR\nBGBaaKAXgN5x5swZffe739U999wjSfL5fBo8eLCef/55TZw4sU/v+/nnn9fdd9+t73//+51u09DQ\noB/+8Id6//33e3TsHTt2aP369brrrrv0zjvv+L9//byS5JzT448/rtmzZ3d4+6VLl3T77beruLhY\nsbGx2rFjh9asWaM77rij3X3ee++9eumllyRJb731lnbt2iXnnHw+n6ZMmaJly5YpPDy8R3MgeBHB\nAWTw4MHauXOn/+vdu3drxYoV2rt3bwBXddV//vMfVVZW9ni/srIyLVu2TDNmzLjhtuvnrampUVpa\nmiZMmKBhw4bdcLtzTqtXr9arr76q0tJSSVJCQoI2bNjQ4X3v2bNHH330kT788EMNHjxYzc3NWrp0\nqV5//XUtX768x7MgOHE5PIDV19dr1KhR/q8//PBDpaWlKT09XTk5OTp16pR8Pp8WLFjgP/M5ePCg\nUlJSdO7cuXbHOnz4sGbNmqXc3FxNnz5dmZmZqqqquuE+P/nkE2VlZWn69OmaOXOm9u/fL0lasWKF\nmpqaNGPGDLW1tbXbp6GhQT/5yU+Ulpam6dOn66WXXtKVK1dUXFysyspKrVu3Ths3buxy3ttuu01j\nxoxRdXV1h7c3Nzfr7NmzGjFiRJfHkqSzZ8+qra1NTU1NkqSIiAgVFhbq4Ycf7tb+6CccBoTTp0+7\nsWPHuvT0dJeenu6+853vuPHjx7s//vGPzjnnDh486B5++GF3/vx555xz27dvd9OmTXM+n8/V1NS4\nBx980P3hD39wKSkprry8/IbjHzp0yI0dO9ZVVFQ455z74IMPXEZGhnPOufz8fPf222+72tpal5yc\n7D799FPnnHOfffaZS0xMdJ9//rk7ffq0+9a3vtXh2p977jlXVFTkfD6fa25udjk5OW7Dhg3OOece\ne+wxt2fPng7nvf54R48edZMmTXL//Oc/2z0eaWlpLjk52aWmprrS0lJ38eJF/2Pg9Xr9j9m1/37z\nm98455y7cOGCW7RokRs/frzLyspyJSUlHT426N+4HB5Arr/8O3r0qBYvXqyysjIdOHBAjzzyiGJi\nYiRJM2fO1Jo1a3TmzBnFxsaqqKhIubm5WrJkiSZNmtTh8ceOHauEhARJ0qxZs7Rq1SrV1dX5bz92\n7JhGjx6t+++/X5J09913y+v1qry8XElJSZ2ue//+/dq6das8Ho/Cw8M1d+5cbdq0SU8++eRN5712\nZilJbW1tio6O1ssvv6yvfe1rOnPmTLvH48CBA8rLy9PkyZMVGRnpP8bNLoejoqL07rvv6vTp0zp0\n6JDKy8v15JNPKjs7W3l5eTddG/oPIjiAeb1excXFqbKyUq6Dt4g753TlyhVJ0smTJzVy5Mibvm4X\nEhJyw/5f/p7P57vpfXTm+v18Pl+X+0g3Rv9mpkyZokWLFmn58uXas2ePoqKiutznrbfe0sSJE+X1\nehUbG6vMzEx98sknWrx4MREcQHhNcAA7deqUqqurdd999+mhhx7S7t27VVtbK0navn27brnlFo0Z\nM0bHjh3T+++/r+3bt+vChQvatGlTh8c7ceKETpw4Ienq64ter1fDhw/3337//ffr1KlTOnbsmCTp\nb3/7myoqKpSYmKjQ0FC1tbV1GOOHHnpIW7ZskXNOLS0t2rZtmx588MHefjiUk5Oj4cOHa/369d3a\nvqmpSWvXrlV9fb3/e6dOndK4ceN6fW0IHM4EB5AvXx5KV8+oVq1apbi4OMXFxWnhwoVasGCBfD6f\nYmJitGHDBl26dEnLly9XQUGBbrvtNv3sZz9TZmamJk2adMNf9pEjR+q1117TF198oZiYGP8PU66J\niYnRunXrVFRUpKamJnk8HpWUlCguLk5tbW0aN26cpk2bpq1btyo6Otq/X0FBgVavXq3p06ertbVV\nU6ZM0dNPP93rj09YWJgKCwv1xBNPKDMzU9LVH+Rc/5PnkJAQ7dixQ7m5ufJ4PJo7d648Ho98Pp8m\nTJig1157rdfXhsDxuI7+aQauc/jwYRUVFWnXrl2BXgrQq7gcBmAaZ4IATONMEIBpRBCAaUQQgGk3\n/RWZs2cbujxAdPRQ1dVd6rUFBRKzBJ+BMofELIE0alTnvxz/P58JhoaGdL1RP8EswWegzCExS7Di\nchiAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlE\nEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpoYFeALqn\nuPinqqur7fb2ISGD1Nbm68MV3aixsVGSFBkZ2WvH/KrmiI6O0cqVP+3z+0HwIYL9RF1drc6fPy9P\n2JBAL6VTrrVJktTc5gnwSnrGtV4O9BIQQESwH/GEDdGwb6QHehmdunjyt5IU1GvsyLV1wyZeEwRg\nGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAa\nEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoR\nBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEE\nYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGBar0dw\n27Yt2rZtS28fFoBxfdWWXo9gRcVhVVQc7u3DAjCur9rC5TAA04ggANOIIADTiCAA04ggANOIIADT\niCAA04ggANOIIADTiCAA04ggANOIIADTiCAA04ggANOIIADTiCAA04ggANOIIADTiCAA04ggANOI\nIADTiCAA04ggANOIIADTiCAA04ggANOIIADTiCAA04ggANOIIADTiCAA04ggANOIIADTiCAA04gg\nANOIIADTiCAA04ggANOIIADTiCAA04ggANOIIADTiCAA04ggANOIIADTiCAA04ggANOIIADTiCAA\n04ggANOIIADTiCAA04ggANOIIADTiCAA04ggANOIIADTQnv7gI2NjWppaVZe3tLePnSfCwkZpLY2\nX6CX0aG6ulo5/s3qE66tRXV1TX3+nA3m51dPBWKWurpahYdH9Ppx+VsFwLRePxOMjIxUZGSkXn55\nfW8fus+NGhWls2cbAr2MDuXlLVXthUuBXsaA5AkJV/TwoX3+nA3m51dPBWKWvjpT50wQgGlEEIBp\nRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlE\nEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQ\ngGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCA\naUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGmhvX3A\nSZOSevuQANBnben1CGZlPdrbhwSAPmsLl8MATCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwj\nggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOC\nAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBMI4IA\nTCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBMI4IATCOCAEwjggBM\nI4IATCOCAEwjggBMI4IATCOCAEwjggBMCw30AtB9rvWyLp78baCX0SnXelmSgnqNHbm67qGBXgYC\nhAj2E9HRMT3aPiRkkNrafH20mo41NjpJUmRk7wXlq5ljaI8fXwwcRLCfWLnypz3aftSoKJ0929A3\ni/kKDZQ5ELx4TRCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBp\nRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlEEIBpRBCAaUQQgGlE\nEIBpRBCAaR7nnAv0IgAgUDgTBGAaEQRgGhEEYBoRBGAaEQRgGhEEYFqXEWxpadGzzz6rrKws5eTk\nqLq6WsePH9fs2bOVnZ2toqIi+Xw+SdK2bds0c+ZMZWVlad++fX2++J74y1/+ovnz50uS/vGPf2je\nvHnKzs7WCy+8cNP1NzU1acmSJcrOztbixYtVW1sbsBmk7s0hSbW1tZo6daqam5slBd8cUvdm2bhx\nozIzM5WZmanXX39dUv+dZcuWLZo1a5Zmz56t3bt3S+q/s0iSz+fTE088oa1bt0oKzlm6xXVh8+bN\nrqCgwDnnXFVVlcvJyXEZGRnuyJEjzjnnSktLXVlZmfv3v//t0tLSXHNzs7tw4YL//4PBL37xC5eW\nluYyMzOdc8499dRT7tChQ8455woLC93evXs7Xf+7777r1q9f75xzbteuXa6oqCio53DOuf3797sZ\nM2a4Bx54wDU1NTnnXFDN4Vz3Zvn8889dRkaGu3LlivP5fG7OnDnur3/9a7+c5fz58+573/uea2lp\ncQ0NDS4lJcX5fL5+Ocs1a9eudZmZme6DDz5wzgXfc6y7ujwTPHnypFJSUiRJd955p6qqqlRTUyOv\n1ytJ8nq9OnLkiI4dO6YHHnhA4eHhioqK0ujRo3XixIm+LXg3jR49Wj//+c/9Xx8/flyJiYmSpJSU\nFB08eLDT9R85ckRTpkzxb/vnP/85IDNI3ZtDkgYNGqT33ntPt9xyi3/bYJpD6t4st99+u95++22F\nhITI4/HoypUrioiI6JezxMTEqKysTGFhYTp37pwiIiLk8Xj65SyS9Pvf/14ej8e/din4nmPd1WUE\n77vvPu3bt0/OOX366aeqqanRHXfcofLycknSvn37dPnyZV28eFFRUVH+/SIjI3Xx4sW+W3kPTJ06\nVaGhof6vnXPyeDySrq6zoaGh0/V/+fvXtg2U7swhSZMnT1Z0dHS7fYNpDql7s4SFhSkmJkbOOb34\n4osaN26c4uLi+uUskhQaGqpf/vKXmjNnjtLT0yX1zz+Xzz77TLt27dKPfvSjdvsG2yzdFdrVBrNm\nzVJVVZWys7Pl9Xo1fvx4lZSUaM2aNXrjjTeUkJCg8PBwDRs2TI2Njf79Ghsb20UlmAwa9P/tb2xs\n1PDhwztd/5e/f23bYNHRHJ0J5jmkzmdpbm7WypUrFRkZqRdeeEFS/51Fkh577DFlZWVp8eLFOnTo\nUL+cpaysTDU1NVqwYIG++OILhYWF6etf/3rQz9KZLs8EKysrlZycrK1btyo1NVWxsbH6+OOP9cor\nr2jTpk2qr6/X5MmTFR8fryNHjqi5uVkNDQ2qqqrSPffc81XM0GPjxo3T4cOHJUn79+9XQkJCp+v3\ner36+OOP/dtOnDgxkEtvp6M5OhPMc0gdz+KcU25uru69916tWrVKISEhkvrnLH//+9/1zDPPyDmn\nsLAwhYeHa9CgQf1ylueee06//vWvtXnzZmVkZGjhwoVKSUkJ+lk60+WZ4JgxY7Ru3Tq9+eabioqK\n0po1a3T8+HEtXLhQQ4YMUVJSkr797W9LkubPn6/s7Gw557Rs2TJFRET0+QD/jfz8fBUWFqq0tFR3\n3nmnpk6dqpCQkA7XP2/ePOXn52vevHkKCwvT2rVrA718v47m6EwwzyF1PMtHH32k8vJytbS06MCB\nA5Kk5cuX98tZQkJCNHbsWM2ZM8f/WlpiYqK++c1v9rtZOhPsfy6d4VNkAJjGL0sDMI0IAjCNCAIw\njQgCMI0IAjCty1+RAbrrzJkzSk1N1V133SWPx6PW1lbdeuutKikpUV5env71r39p6NChkq6+uyA2\nNlavvPKKRo4cqfnz57e7XZJGjhypd955Ry0tLSopKVFFRYU8Ho+GDx+u/Px8xcfHB2pUDCBEEL3q\n1ltv1c6dO/1fr127VkVFRZKk1atXKykpSdLVTyBZunSp3nvvPeXl5d1w+5dt3LhRPp9Pv/vd7/zv\nt83NzdW+ffsUFhb2FUyFgYzLYfSphIQEVVdX3/D9S5cuqa6uTiNGjOjyGOfOnVNra6taW1slSRMn\nTlRxcXG7j3UC/lucCaLPtLa2as+ePfJ6vaqurlZBQYGGDBmi2tpajRgxQo888ogWLlzo376goKDd\n5XBqaqp+8IMf6PHHH9dTTz2l5ORkJSYmKjk5WRkZGUH7jiT0L7xjBL3my68JSlc/kDc+Pl4rVqzQ\nkiVL9MwzzygpKUlHjx7V0qVL9eabb2rChAmSrr7l8trtHXHOqbKyUgcPHtTevXtVX1+vsrKyfvMm\nfQQvzgTRq65/TbAjXq9X8+fPV35+vnbu3Nnuo5s6UlpaqkcffVTx8fGKj4/X008/rblz5+pPf/qT\npk2b1pvLh0G8JoiAWLRokS5fvqxf/epXXW5bU1OjN954Qy0tLZKk+vp61dXVBe2nFKF/4UwQAREe\nHq4f//jHKi4u1owZMyTd+JqgJG3evFmFhYV68cUXlZqaqiFDhigsLEzPPvus/7Ib+F/wmiAA07gc\nBmAaEQRgGhEEYBoRBGAaEQRgGhEEYBoRBGAaEQRg2v8B4kxAaZz4xyoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20ef0a43b38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Let us draw a box plot to visualize the central tendency and dispersion of PRES\n",
    "plt.figure(figsize=(5.5, 5.5))\n",
    "g = sns.boxplot(df['PRES'])\n",
    "g.set_title('Box plot of PRES')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x20ef20a9828>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20ef1eb6208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(5.5, 5.5))\n",
    "g = sns.tsplot(df['PRES'])\n",
    "g.set_title('Time series of PRES')\n",
    "g.set_xlabel('Index')\n",
    "g.set_ylabel('PRES readings')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Gradient descent algorithms perform better (for example converge faster) if the variables are wihtin range [-1, 1]. Many sources relax the boundary to even [-3, 3]. The PRES variable is mixmax scaled to bound the tranformed variable within [0,1]."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler\n",
    "scaler = MinMaxScaler(feature_range=(0, 1))\n",
    "df['scaled_PRES'] = scaler.fit_transform(np.array(df['PRES']).reshape(-1, 1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "Before training the model, the dataset is split in two parts - train set and validation set.\n",
    "The neural network is trained on the train set. This means computation of the loss function, back propagation\n",
    "and weights updated by a gradient descent algorithm is done on the train set. The validation set is\n",
    "used to evaluate the model and to determine the number of epochs in model training. Increasing the number of \n",
    "epochs will further decrease the loss function on the train set but might not neccesarily have the same effect\n",
    "for the validation set due to overfitting on the train set.Hence, the number of epochs is controlled by keeping\n",
    "a tap on the loss function computed for the validation set. We use Keras with Tensorflow backend to define and train\n",
    "the model. All the steps involved in model training and validation is done by calling appropriate functions\n",
    "of the Keras API."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of train: (35064, 15)\n",
      "Shape of test: (8760, 15)\n"
     ]
    }
   ],
   "source": [
    "\"\"\"\n",
    "Let's start by splitting the dataset into train and validation. The dataset's time period if from\n",
    "Jan 1st, 2010 to Dec 31st, 2014. The first fours years - 2010 to 2013 is used as train and\n",
    "2014 is kept for validation.\n",
    "\"\"\"\n",
    "split_date = datetime.datetime(year=2014, month=1, day=1, hour=0)\n",
    "df_train = df.loc[df['datetime']<split_date]\n",
    "df_val = df.loc[df['datetime']>=split_date]\n",
    "print('Shape of train:', df_train.shape)\n",
    "print('Shape of test:', df_val.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>No</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>day</th>\n",
       "      <th>hour</th>\n",
       "      <th>pm2.5</th>\n",
       "      <th>DEWP</th>\n",
       "      <th>TEMP</th>\n",
       "      <th>PRES</th>\n",
       "      <th>cbwd</th>\n",
       "      <th>Iws</th>\n",
       "      <th>Is</th>\n",
       "      <th>Ir</th>\n",
       "      <th>datetime</th>\n",
       "      <th>scaled_PRES</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-21</td>\n",
       "      <td>-11.0</td>\n",
       "      <td>1021.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>1.79</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2010-01-01 00:00:00</td>\n",
       "      <td>0.545455</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-21</td>\n",
       "      <td>-12.0</td>\n",
       "      <td>1020.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>4.92</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2010-01-01 01:00:00</td>\n",
       "      <td>0.527273</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-21</td>\n",
       "      <td>-11.0</td>\n",
       "      <td>1019.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>6.71</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2010-01-01 02:00:00</td>\n",
       "      <td>0.509091</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-21</td>\n",
       "      <td>-14.0</td>\n",
       "      <td>1019.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>9.84</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2010-01-01 03:00:00</td>\n",
       "      <td>0.509091</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2010</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>NaN</td>\n",
       "      <td>-20</td>\n",
       "      <td>-12.0</td>\n",
       "      <td>1018.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>12.97</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2010-01-01 04:00:00</td>\n",
       "      <td>0.490909</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   No  year  month  day  hour  pm2.5  DEWP  TEMP    PRES cbwd    Iws  Is  Ir  \\\n",
       "0   1  2010      1    1     0    NaN   -21 -11.0  1021.0   NW   1.79   0   0   \n",
       "1   2  2010      1    1     1    NaN   -21 -12.0  1020.0   NW   4.92   0   0   \n",
       "2   3  2010      1    1     2    NaN   -21 -11.0  1019.0   NW   6.71   0   0   \n",
       "3   4  2010      1    1     3    NaN   -21 -14.0  1019.0   NW   9.84   0   0   \n",
       "4   5  2010      1    1     4    NaN   -20 -12.0  1018.0   NW  12.97   0   0   \n",
       "\n",
       "             datetime  scaled_PRES  \n",
       "0 2010-01-01 00:00:00     0.545455  \n",
       "1 2010-01-01 01:00:00     0.527273  \n",
       "2 2010-01-01 02:00:00     0.509091  \n",
       "3 2010-01-01 03:00:00     0.509091  \n",
       "4 2010-01-01 04:00:00     0.490909  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#First five rows of train\n",
    "df_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>No</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>day</th>\n",
       "      <th>hour</th>\n",
       "      <th>pm2.5</th>\n",
       "      <th>DEWP</th>\n",
       "      <th>TEMP</th>\n",
       "      <th>PRES</th>\n",
       "      <th>cbwd</th>\n",
       "      <th>Iws</th>\n",
       "      <th>Is</th>\n",
       "      <th>Ir</th>\n",
       "      <th>datetime</th>\n",
       "      <th>scaled_PRES</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>35064</th>\n",
       "      <td>35065</td>\n",
       "      <td>2014</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>24.0</td>\n",
       "      <td>-20</td>\n",
       "      <td>7.0</td>\n",
       "      <td>1014.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>143.48</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2014-01-01 00:00:00</td>\n",
       "      <td>0.418182</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35065</th>\n",
       "      <td>35066</td>\n",
       "      <td>2014</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>53.0</td>\n",
       "      <td>-20</td>\n",
       "      <td>7.0</td>\n",
       "      <td>1013.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>147.50</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2014-01-01 01:00:00</td>\n",
       "      <td>0.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35066</th>\n",
       "      <td>35067</td>\n",
       "      <td>2014</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>65.0</td>\n",
       "      <td>-20</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1013.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>151.52</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2014-01-01 02:00:00</td>\n",
       "      <td>0.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35067</th>\n",
       "      <td>35068</td>\n",
       "      <td>2014</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>70.0</td>\n",
       "      <td>-20</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1013.0</td>\n",
       "      <td>NW</td>\n",
       "      <td>153.31</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2014-01-01 03:00:00</td>\n",
       "      <td>0.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35068</th>\n",
       "      <td>35069</td>\n",
       "      <td>2014</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>79.0</td>\n",
       "      <td>-18</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1012.0</td>\n",
       "      <td>cv</td>\n",
       "      <td>0.89</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2014-01-01 04:00:00</td>\n",
       "      <td>0.381818</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          No  year  month  day  hour  pm2.5  DEWP  TEMP    PRES cbwd     Iws  \\\n",
       "35064  35065  2014      1    1     0   24.0   -20   7.0  1014.0   NW  143.48   \n",
       "35065  35066  2014      1    1     1   53.0   -20   7.0  1013.0   NW  147.50   \n",
       "35066  35067  2014      1    1     2   65.0   -20   6.0  1013.0   NW  151.52   \n",
       "35067  35068  2014      1    1     3   70.0   -20   6.0  1013.0   NW  153.31   \n",
       "35068  35069  2014      1    1     4   79.0   -18   3.0  1012.0   cv    0.89   \n",
       "\n",
       "       Is  Ir            datetime  scaled_PRES  \n",
       "35064   0   0 2014-01-01 00:00:00     0.418182  \n",
       "35065   0   0 2014-01-01 01:00:00     0.400000  \n",
       "35066   0   0 2014-01-01 02:00:00     0.400000  \n",
       "35067   0   0 2014-01-01 03:00:00     0.400000  \n",
       "35068   0   0 2014-01-01 04:00:00     0.381818  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#First five rows of validation\n",
    "df_val.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Reset the indices of the validation set\n",
    "df_val.reset_index(drop=True, inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x20ef24ec2e8>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20ef22cf518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20ef24cca58>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"\n",
    "The train and validation time series of scaled PRES is also plotted.\n",
    "\"\"\"\n",
    "\n",
    "plt.figure(figsize=(5.5, 5.5))\n",
    "g = sns.tsplot(df_train['scaled_PRES'], color='b')\n",
    "g.set_title('Time series of scaled PRES in train set')\n",
    "g.set_xlabel('Index')\n",
    "g.set_ylabel('Scaled PRES readings')\n",
    "\n",
    "plt.figure(figsize=(5.5, 5.5))\n",
    "g = sns.tsplot(df_val['scaled_PRES'], color='r')\n",
    "g.set_title('Time series of scaled PRES in validation set')\n",
    "g.set_xlabel('Index')\n",
    "g.set_ylabel('Scaled PRES readings')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we need to generate regressors (X) and target variable (y) for train and validation. 2-D array of regressor and 1-D array of target is created from the original 1-D array of columm standardized_PRES in the DataFrames. For the time series forecasting model, Past seven days of observations are used to predict for the next day. This is equivalent to a AR(7) model. We define a function which takes the original time series and the number of timesteps in regressors as input to generate the arrays of X and y."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def makeXy(ts, nb_timesteps):\n",
    "    \"\"\"\n",
    "    Input: \n",
    "           ts: original time series\n",
    "           nb_timesteps: number of time steps in the regressors\n",
    "    Output: \n",
    "           X: 2-D array of regressors\n",
    "           y: 1-D array of target \n",
    "    \"\"\"\n",
    "    X = []\n",
    "    y = []\n",
    "    for i in range(nb_timesteps, ts.shape[0]):\n",
    "        X.append(list(ts.loc[i-nb_timesteps:i-1]))\n",
    "        y.append(ts.loc[i])\n",
    "    X, y = np.array(X), np.array(y)\n",
    "    return X, y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of train arrays: (35057, 7) (35057,)\n"
     ]
    }
   ],
   "source": [
    "X_train, y_train = makeXy(df_train['scaled_PRES'], 7)\n",
    "print('Shape of train arrays:', X_train.shape, y_train.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of validation arrays: (8753, 7) (8753,)\n"
     ]
    }
   ],
   "source": [
    "X_val, y_val = makeXy(df_val['scaled_PRES'], 7)\n",
    "print('Shape of validation arrays:', X_val.shape, y_val.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The input to convolution layers must be of shape (number of samples, number of timesteps, number of features per timestep). In this case we are modeling only PRES hence number of features per timestep is one. Number of timesteps is seven and number of samples is same as the number of samples in X_train and X_val, which are reshaped to 3D arrays."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of arrays after reshaping: (35057, 7, 1) (8753, 7, 1)\n"
     ]
    }
   ],
   "source": [
    "#X_train and X_val are reshaped to 3D arrays\n",
    "X_train, X_val = X_train.reshape((X_train.shape[0], X_train.shape[1], 1)),\\\n",
    "                 X_val.reshape((X_val.shape[0], X_val.shape[1], 1))\n",
    "print('Shape of arrays after reshaping:', X_train.shape, X_val.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we define the MLP using the Keras Functional API. In this approach a layer can be declared as the input of the following layer at the time of defining the next layer. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "from keras.layers import Dense\n",
    "from keras.layers import Input\n",
    "from keras.layers import Dropout\n",
    "from keras.layers import Flatten\n",
    "from keras.layers.convolutional import ZeroPadding1D\n",
    "from keras.layers.convolutional import Conv1D\n",
    "from keras.layers.pooling import AveragePooling1D\n",
    "from keras.optimizers import SGD\n",
    "from keras.models import Model\n",
    "from keras.models import load_model\n",
    "from keras.callbacks import ModelCheckpoint"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Define input layer which has shape (None, 7) and of type float32. None indicates the number of instances\n",
    "input_layer = Input(shape=(7,1), dtype='float32')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "ZeroPadding1D layer is added next to add zeros at the beginning and end of each series. Zeropadding ensure that the downstream convolution layer does not reduce the dimension of the output sequences. Pooling layer, added after the convolution layer is used to downsampling the input."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Add zero padding\n",
    "zeropadding_layer = ZeroPadding1D(padding=1)(input_layer)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The first argument of Conv1D is the number of filters, which determine the number of features in the output. Second argument indicates length of the 1D convolution window. The third argument is strides and represent the number of places to shift the convolution window. Lastly, setting use_bias as True, add a bias value during computation of an output feature. Here, the 1D convolution can be thought of as generating local AR models over rolling window of three time units."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Add 1D convolution layer\n",
    "conv1D_layer = Conv1D(64, 3, strides=1, use_bias=True)(zeropadding_layer)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "AveragePooling1D is added next to downsample the input by taking average over pool size of three with stride of one timesteps. The average pooling in this case can be thought of as taking moving averages over a rolling window of three time units. We have used average pooling instead of max pooling to generate the moving averages."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Add AveragePooling1D layer\n",
    "avgpooling_layer = AveragePooling1D(pool_size=3, strides=1)(conv1D_layer)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The preceeding pooling layer returns 3D output. Hence before passing to the output layer, a Flatten layer is added. The Flatten layer reshapes the input to (number of samples, number of timesteps*number of features per timestep), which is then fed to the output layer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Add Flatten layer\n",
    "flatten_layer = Flatten()(avgpooling_layer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "dropout_layer = Dropout(0.2)(flatten_layer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#Finally the output layer gives prediction for the next day's air pressure.\n",
    "output_layer = Dense(1, activation='linear')(dropout_layer)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The input, dense and output layers will now be packed inside a Model, which is wrapper class for training and making\n",
    "predictions. Mean squared error (MSE) is used as the loss function.\n",
    "\n",
    "The network's weights are optimized by the Adam algorithm. Adam stands for adaptive moment estimation\n",
    "and has been a popular choice for training deep neural networks. Unlike, stochastic gradient descent, adam uses\n",
    "different learning rates for each weight and separately updates the same as the training progresses. The learning rate of a weight is updated based on exponentially weighted moving averages of the weight's gradients and the squared gradients."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "input_1 (InputLayer)         (None, 7, 1)              0         \n",
      "_________________________________________________________________\n",
      "zero_padding1d_1 (ZeroPaddin (None, 9, 1)              0         \n",
      "_________________________________________________________________\n",
      "conv1d_1 (Conv1D)            (None, 7, 64)             256       \n",
      "_________________________________________________________________\n",
      "average_pooling1d_1 (Average (None, 5, 64)             0         \n",
      "_________________________________________________________________\n",
      "flatten_1 (Flatten)          (None, 320)               0         \n",
      "_________________________________________________________________\n",
      "dropout_1 (Dropout)          (None, 320)               0         \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 1)                 321       \n",
      "=================================================================\n",
      "Total params: 577\n",
      "Trainable params: 577\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "ts_model = Model(inputs=input_layer, outputs=output_layer)\n",
    "ts_model.compile(loss='mean_absolute_error', optimizer='adam')#SGD(lr=0.001, decay=1e-5))\n",
    "ts_model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The model is trained by calling the fit function on the model object and passing the X_train and y_train. The training \n",
    "is done for a predefined number of epochs. Additionally, batch_size defines the number of samples of train set to be\n",
    "used for a instance of back propagation.The validation dataset is also passed to evaluate the model after every epoch\n",
    "completes. A ModelCheckpoint object tracks the loss function on the validation set and saves the model for the epoch,\n",
    "at which the loss function has been minimum."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 35057 samples, validate on 8753 samples\n",
      "Epoch 1/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0277 - val_loss: 0.0182\n",
      "Epoch 2/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0176 - val_loss: 0.0116\n",
      "Epoch 3/20\n",
      "35057/35057 [==============================] - 5s - loss: 0.0156 - val_loss: 0.0368\n",
      "Epoch 4/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0147 - val_loss: 0.0114\n",
      "Epoch 5/20\n",
      "35057/35057 [==============================] - 4s - loss: 0.0141 - val_loss: 0.0109\n",
      "Epoch 6/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0139 - val_loss: 0.0159\n",
      "Epoch 7/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0136 - val_loss: 0.0169\n",
      "Epoch 8/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0137 - val_loss: 0.0159\n",
      "Epoch 9/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0136 - val_loss: 0.0101\n",
      "Epoch 10/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0135 - val_loss: 0.0110\n",
      "Epoch 11/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0133 - val_loss: 0.0169\n",
      "Epoch 12/20\n",
      "35057/35057 [==============================] - 4s - loss: 0.0131 - val_loss: 0.0155\n",
      "Epoch 13/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0131 - val_loss: 0.0119\n",
      "Epoch 14/20\n",
      "35057/35057 [==============================] - 4s - loss: 0.0131 - val_loss: 0.0106\n",
      "Epoch 15/20\n",
      "35057/35057 [==============================] - 5s - loss: 0.0131 - val_loss: 0.0102\n",
      "Epoch 16/20\n",
      "35057/35057 [==============================] - 4s - loss: 0.0131 - val_loss: 0.0105\n",
      "Epoch 17/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0131 - val_loss: 0.0097\n",
      "Epoch 18/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0131 - val_loss: 0.0116\n",
      "Epoch 19/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0131 - val_loss: 0.0104\n",
      "Epoch 20/20\n",
      "35057/35057 [==============================] - 3s - loss: 0.0130 - val_loss: 0.0105\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x20f037def98>"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "save_weights_at = os.path.join('keras_models', 'PRSA_data_Air_Pressure_1DConv_weights.{epoch:02d}-{val_loss:.4f}.hdf5')\n",
    "save_best = ModelCheckpoint(save_weights_at, monitor='val_loss', verbose=0,\n",
    "                            save_best_only=True, save_weights_only=False, mode='min',\n",
    "                            period=1)\n",
    "ts_model.fit(x=X_train, y=y_train, batch_size=16, epochs=20,\n",
    "             verbose=1, callbacks=[save_best], validation_data=(X_val, y_val),\n",
    "             shuffle=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Prediction are made for the PRES from the best saved model. The model's predictions, which are on the standardized  PRES, are inverse transformed to get predictions of original PRES."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "best_model = load_model(os.path.join('keras_models', 'PRSA_data_Air_Pressure_1DConv_weights.16-0.0097.hdf5'))\n",
    "preds = best_model.predict(X_val)\n",
    "pred_PRES = np.squeeze(scaler.inverse_transform(preds))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.metrics import r2_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "R-squared for the validation set: 0.995\n"
     ]
    }
   ],
   "source": [
    "r2 = r2_score(df_val['PRES'].loc[7:], pred_PRES)\n",
    "print('R-squared for the validation set:', round(r2, 4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.text.Text at 0x20f03f794a8>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x20f03eda0f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Let's plot the first 50 actual and predicted values of PRES.\n",
    "plt.figure(figsize=(5.5, 5.5))\n",
    "plt.plot(range(50), df_val['PRES'].loc[7:56], linestyle='-', marker='*', color='r')\n",
    "plt.plot(range(50), pred_PRES[:50], linestyle='-', marker='.', color='b')\n",
    "plt.legend(['Actual','Predicted'], loc=2)\n",
    "plt.title('Actual vs Predicted PRES')\n",
    "plt.ylabel('PRES')\n",
    "plt.xlabel('Index')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
